cd "C:\Impact_Evaluation\data\" // the path should be changed by the user *1 clear all // clear all data and stored results from memory import delimited "coffeeleaflet.csv" // load coffeeleaflet data regress awarewaste treatment, vce(hc3) // OLS regression with heteroscedasticity-robust se *2 clear all // clear all data and stored results from memory import delimited "marketing.csv" // load marketing data npregress kernel sales newspaper, /// // kernel regression estimator(constant) kernel(gaussian) noderivatives margins, at(newspaper=(0(1)140)) /// // predict sales at newspaper = 0-140 vce(bootstrap, reps(999) seed(1)) marginsplot, /// // plot regression function recast(line) recastci(rline) ciop(lp(dash)) /// yscale(range(12 26)) ylabel(12(2)26) /// xscale(range(0 140)) xlabel(0(20)140) /// title("") ytitle("sales") npregress kernel sales newspaper, kernel(gaussian) meanbw(18.31489, copy) // kernel regression margins, dydx(newspaper) at(newspaper=(0(1)140)) reps(999) seed(1) // marginal effect of newspapers on sales at newspaper = 0-140 marginsplot, /// // plot effects recast(line) recastci(rline) ciop(lp(dash)) /// yscale(range(-0.2 0.2)) ylabel(-0.2(0.1)0.2) /// xscale(range(0 140)) xlabel(0(20)140) /// title("") ytitle("Gradient component 1 of sales") *3 clear all // clear all data and stored results from memory import delimited "coupon.csv" // load coupon data ds dailyspending, not // get names of all regressors (outcome excluded) regress dailyspending `r(varlist)', vce(hc3) // OLS regression with heteroscedasticity-robust se *4 clear all // clear all data and stored results from memory import delimited "coupon.csv" // load coupon data ds dailyspending coupons, not // get covariate names teffects nnmatch (dailyspending `r(varlist)') (coupons), /// // pair matching (ATE) nneighbor(1) metric(ivariance) vce(iid) *5 clear all // clear all data and stored results from memory import delimited "coupon.csv" // load coupon data ds dailyspending coupons, not // get covariate names teffects ipw (dailyspending) (coupons `r(varlist)', probit), /// // IPW with 999 bootstraps vce(bootstrap, reps(999) seed(1)) *6 clear all // clear all data and stored results from memory import delimited "coupon.csv" // load coupon data ds dailyspending coupons, not // get covariate names local X `r(varlist)' // store covariates net install st0290, from(http://www.stata-journal.com/software/sj13-1) // install drglm package drglm dailyspending coupons, outcome(`X') exposure(`X') elink(logit) // DR reg *7 net install ddml, from(https://raw.githubusercontent.com/aahrens1/ddml/master) replace // install ddml package ssc install lassopack, replace // install lassopack package ssc install pdslasso, replace // install pdslasso package clear all // clear all data and stored results from memory import delimited "coupon.csv" // load coupon data ds dailyspending coupons, not // get covariate names local X `r(varlist)' // store covariates gen D = coupons // define treatment gen Y = dailyspending // define outcome ddml init interactive, kfolds(3) // initialize DML for binary treatment ddml E[Y|X,D]: pystacked Y `X', type(reg) method(lassocv) pyseed(1) // outcome model by cross-validated lasso ddml E[D|X]: pystacked D `X', type(class) method(lassocv) pyseed(1) // treatment model by cross-validated lasso ddml crossfit // cross-fit nuisance models ddml estimate, robust // estimate DML treatment effect *8 clear all // clear all data and stored results from memory import delimited "coupon.csv" // load coupon data ds dailyspending coupons, not // get covariate names local X `r(varlist)' // store covariates gen D = coupons // define treatment gen Y = dailyspending // define outcome cate po (Y `X') (D), /// // run causal forest omethod(rforest) tmethod(rforest) /// cmethod(rforest) oob rseed(1) predict CATE // store estimated IATE/CATE predictions categraph histogram, frequency bin(16) // distribution of CATEs *9 estat projection dailyspending_preperiod // regression of function on past spending *10 rforest CATE `X', type(reg) // predict CATE as a function of X matrix list e(importance) // show predictive importance of X *11 //no Stata code available *12 clear all // clear all data and stored results from memory import delimited "c401k.csv" // load c401k data ivregress 2sls nettfa (p401k = e401k), vce(robust) // run two stage least squares regression *13 //no Stata code available *14 clear all // clear all data and stored results from memory import delimited "indh.csv" // load indh data rdrobust choice_pg poverty, c(30) // run RDD (threshold: 30) rdplot choice_pg poverty, c(30) // plot outcome against running variable *15 ssc install drdid, replace // install drdid package clear all // clear all data and stored results from memory import delimited "nsw_long.csv" // load nsw_long data drdid re, time(year) ivar(id) tr(treated) // DiD *16 drdid re educ nodegree age married, time(year) ivar(id) tr(treated) // DiD with covariates *17 ssc install sdid, replace // install sdid package clear all // clear all data and stored results from memory import delimited "california_prop99.csv" // load smoking data sdid packspercapita state year treated, vce(placebo) reps(200) graph // synthetic DiD